{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sympy\n",
    "import numpy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "alpha=sympy.Symbol('alpha')\n",
    "eta=sympy.Symbol('eta')\n",
    "beta=sympy.Symbol('beta')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Basic expression to approximate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\frac{\\sqrt[3]{\\sqrt{\\alpha + 1} - 1}}{\\sqrt[6]{\\alpha}}$"
      ],
      "text/plain": [
       "(sqrt(alpha + 1) - 1)**(1/3)/alpha**(1/6)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cbt=(alpha**(sympy.Rational(-1,6))*(-1+sympy.sqrt(1+alpha))**\n",
    "     (sympy.Rational(1,3)))\n",
    "display(cbt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\frac{\\sqrt[6]{\\alpha}}{\\sqrt[3]{\\sqrt{\\alpha + 1} - 1}} - \\frac{\\sqrt[3]{\\sqrt{\\alpha + 1} - 1}}{\\sqrt[6]{\\alpha}}$"
      ],
      "text/plain": [
       "alpha**(1/6)/(sqrt(alpha + 1) - 1)**(1/3) - (sqrt(alpha + 1) - 1)**(1/3)/alpha**(1/6)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f=1/cbt-cbt\n",
    "display(f)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Rewriting:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [],
   "source": [
    "Nlow=99"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle - \\frac{60837710436840623 \\cdot 2^{\\frac{2}{3}} \\eta^{97}}{67390312367240773632} - \\frac{158136806508304345 \\sqrt[3]{2} \\eta^{95}}{134780624734481547264} + \\frac{696995045921251 \\cdot 2^{\\frac{2}{3}} \\eta^{91}}{701982420492091392} + \\frac{3630889060034345 \\sqrt[3]{2} \\eta^{89}}{2807929681968365568} - \\frac{85726663402079 \\cdot 2^{\\frac{2}{3}} \\eta^{85}}{77998046721343488} - \\frac{55953740067775 \\sqrt[3]{2} \\eta^{83}}{38999023360671744} + \\frac{7966571683861 \\cdot 2^{\\frac{2}{3}} \\eta^{79}}{6499837226778624} + \\frac{41710969868705 \\sqrt[3]{2} \\eta^{77}}{25999348907114496} - \\frac{373343301695 \\cdot 2^{\\frac{2}{3}} \\eta^{73}}{270826551115776} - \\frac{3921815591005 \\sqrt[3]{2} \\eta^{71}}{2166612408926208} + \\frac{5890704547 \\cdot 2^{\\frac{2}{3}} \\eta^{67}}{3761479876608} + \\frac{124220403335 \\sqrt[3]{2} \\eta^{65}}{60183678025728} - \\frac{18058389349 \\cdot 2^{\\frac{2}{3}} \\eta^{61}}{10030613004288} - \\frac{747088265 \\sqrt[3]{2} \\eta^{59}}{313456656384} + \\frac{1754890501 \\cdot 2^{\\frac{2}{3}} \\eta^{55}}{835884417024} + \\frac{291988675 \\sqrt[3]{2} \\eta^{53}}{104485552128} - \\frac{19284511 \\cdot 2^{\\frac{2}{3}} \\eta^{49}}{7739670528} - \\frac{3230513 \\sqrt[3]{2} \\eta^{47}}{967458816} + \\frac{487475 \\cdot 2^{\\frac{2}{3}} \\eta^{43}}{161243136} + \\frac{164749 \\sqrt[3]{2} \\eta^{41}}{40310784} - \\frac{202895 \\cdot 2^{\\frac{2}{3}} \\eta^{37}}{53747712} - \\frac{8671 \\sqrt[3]{2} \\eta^{35}}{1679616} + \\frac{7315 \\cdot 2^{\\frac{2}{3}} \\eta^{31}}{1492992} + \\frac{5083 \\sqrt[3]{2} \\eta^{29}}{746496} - \\frac{209 \\cdot 2^{\\frac{2}{3}} \\eta^{25}}{31104} - \\frac{595 \\sqrt[3]{2} \\eta^{23}}{62208} + \\frac{13 \\cdot 2^{\\frac{2}{3}} \\eta^{19}}{1296} + \\frac{77 \\sqrt[3]{2} \\eta^{17}}{5184} - \\frac{5 \\cdot 2^{\\frac{2}{3}} \\eta^{13}}{288} - \\frac{\\sqrt[3]{2} \\eta^{11}}{36} + \\frac{2^{\\frac{2}{3}} \\eta^{7}}{24} + \\frac{\\sqrt[3]{2} \\eta^{5}}{12} - \\frac{2^{\\frac{2}{3}} \\eta}{2} + \\frac{\\sqrt[3]{2}}{\\eta}$"
      ],
      "text/plain": [
       "-60837710436840623*2**(2/3)*eta**97/67390312367240773632 - 158136806508304345*2**(1/3)*eta**95/134780624734481547264 + 696995045921251*2**(2/3)*eta**91/701982420492091392 + 3630889060034345*2**(1/3)*eta**89/2807929681968365568 - 85726663402079*2**(2/3)*eta**85/77998046721343488 - 55953740067775*2**(1/3)*eta**83/38999023360671744 + 7966571683861*2**(2/3)*eta**79/6499837226778624 + 41710969868705*2**(1/3)*eta**77/25999348907114496 - 373343301695*2**(2/3)*eta**73/270826551115776 - 3921815591005*2**(1/3)*eta**71/2166612408926208 + 5890704547*2**(2/3)*eta**67/3761479876608 + 124220403335*2**(1/3)*eta**65/60183678025728 - 18058389349*2**(2/3)*eta**61/10030613004288 - 747088265*2**(1/3)*eta**59/313456656384 + 1754890501*2**(2/3)*eta**55/835884417024 + 291988675*2**(1/3)*eta**53/104485552128 - 19284511*2**(2/3)*eta**49/7739670528 - 3230513*2**(1/3)*eta**47/967458816 + 487475*2**(2/3)*eta**43/161243136 + 164749*2**(1/3)*eta**41/40310784 - 202895*2**(2/3)*eta**37/53747712 - 8671*2**(1/3)*eta**35/1679616 + 7315*2**(2/3)*eta**31/1492992 + 5083*2**(1/3)*eta**29/746496 - 209*2**(2/3)*eta**25/31104 - 595*2**(1/3)*eta**23/62208 + 13*2**(2/3)*eta**19/1296 + 77*2**(1/3)*eta**17/5184 - 5*2**(2/3)*eta**13/288 - 2**(1/3)*eta**11/36 + 2**(2/3)*eta**7/24 + 2**(1/3)*eta**5/12 - 2**(2/3)*eta/2 + 2**(1/3)/eta"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lowaser=sympy.series(f.subs(alpha,eta**6),eta,0,Nlow).removeO()\n",
    "display(lowaser)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fp_t numer=1;\n",
      "fp_t denom=1;\n",
      "fp_t term=to13*numer/denom*pow(eta,-1);\n",
      "fp_t numer=-1;\n",
      "fp_t denom=2;\n",
      "fp_t term=to23*numer/denom*pow(eta,1);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to13*numer/denom*pow(eta,3);\n",
      "fp_t numer=2**(2/3);\n",
      "fp_t denom=24;\n",
      "fp_t term=to23*numer/denom*pow(eta,5);\n",
      "fp_t numer=2**(1/3);\n",
      "fp_t denom=24;\n",
      "fp_t term=to13*numer/denom*pow(eta,7);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to23*numer/denom*pow(eta,9);\n",
      "fp_t numer=-1;\n",
      "fp_t denom=36;\n",
      "fp_t term=to13*numer/denom*pow(eta,11);\n",
      "fp_t numer=-5;\n",
      "fp_t denom=288;\n",
      "fp_t term=to23*numer/denom*pow(eta,13);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to13*numer/denom*pow(eta,15);\n",
      "fp_t numer=77*2**(2/3);\n",
      "fp_t denom=10368;\n",
      "fp_t term=to23*numer/denom*pow(eta,17);\n",
      "fp_t numer=13*2**(1/3);\n",
      "fp_t denom=1296;\n",
      "fp_t term=to13*numer/denom*pow(eta,19);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to23*numer/denom*pow(eta,21);\n",
      "fp_t numer=-595;\n",
      "fp_t denom=62208;\n",
      "fp_t term=to13*numer/denom*pow(eta,23);\n",
      "fp_t numer=-209;\n",
      "fp_t denom=31104;\n",
      "fp_t term=to23*numer/denom*pow(eta,25);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to13*numer/denom*pow(eta,27);\n",
      "fp_t numer=5083*2**(2/3);\n",
      "fp_t denom=1492992;\n",
      "fp_t term=to23*numer/denom*pow(eta,29);\n",
      "fp_t numer=7315*2**(1/3);\n",
      "fp_t denom=1492992;\n",
      "fp_t term=to13*numer/denom*pow(eta,31);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to23*numer/denom*pow(eta,33);\n",
      "fp_t numer=-8671;\n",
      "fp_t denom=1679616;\n",
      "fp_t term=to13*numer/denom*pow(eta,35);\n",
      "fp_t numer=-202895;\n",
      "fp_t denom=53747712;\n",
      "fp_t term=to23*numer/denom*pow(eta,37);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to13*numer/denom*pow(eta,39);\n",
      "fp_t numer=164749*2**(2/3);\n",
      "fp_t denom=80621568;\n",
      "fp_t term=to23*numer/denom*pow(eta,41);\n",
      "fp_t numer=487475*2**(1/3);\n",
      "fp_t denom=161243136;\n",
      "fp_t term=to13*numer/denom*pow(eta,43);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to23*numer/denom*pow(eta,45);\n",
      "fp_t numer=-3230513;\n",
      "fp_t denom=967458816;\n",
      "fp_t term=to13*numer/denom*pow(eta,47);\n",
      "fp_t numer=-19284511;\n",
      "fp_t denom=7739670528;\n",
      "fp_t term=to23*numer/denom*pow(eta,49);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to13*numer/denom*pow(eta,51);\n",
      "fp_t numer=291988675*2**(2/3);\n",
      "fp_t denom=208971104256;\n",
      "fp_t term=to23*numer/denom*pow(eta,53);\n",
      "fp_t numer=1754890501*2**(1/3);\n",
      "fp_t denom=835884417024;\n",
      "fp_t term=to13*numer/denom*pow(eta,55);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to23*numer/denom*pow(eta,57);\n",
      "fp_t numer=-747088265;\n",
      "fp_t denom=313456656384;\n",
      "fp_t term=to13*numer/denom*pow(eta,59);\n",
      "fp_t numer=-18058389349;\n",
      "fp_t denom=10030613004288;\n",
      "fp_t term=to23*numer/denom*pow(eta,61);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to13*numer/denom*pow(eta,63);\n",
      "fp_t numer=124220403335*2**(2/3);\n",
      "fp_t denom=120367356051456;\n",
      "fp_t term=to23*numer/denom*pow(eta,65);\n",
      "fp_t numer=5890704547*2**(1/3);\n",
      "fp_t denom=3761479876608;\n",
      "fp_t term=to13*numer/denom*pow(eta,67);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to23*numer/denom*pow(eta,69);\n",
      "fp_t numer=-3921815591005;\n",
      "fp_t denom=2166612408926208;\n",
      "fp_t term=to13*numer/denom*pow(eta,71);\n",
      "fp_t numer=-373343301695;\n",
      "fp_t denom=270826551115776;\n",
      "fp_t term=to23*numer/denom*pow(eta,73);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to13*numer/denom*pow(eta,75);\n",
      "fp_t numer=41710969868705*2**(2/3);\n",
      "fp_t denom=51998697814228992;\n",
      "fp_t term=to23*numer/denom*pow(eta,77);\n",
      "fp_t numer=7966571683861*2**(1/3);\n",
      "fp_t denom=6499837226778624;\n",
      "fp_t term=to13*numer/denom*pow(eta,79);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to23*numer/denom*pow(eta,81);\n",
      "fp_t numer=-55953740067775;\n",
      "fp_t denom=38999023360671744;\n",
      "fp_t term=to13*numer/denom*pow(eta,83);\n",
      "fp_t numer=-85726663402079;\n",
      "fp_t denom=77998046721343488;\n",
      "fp_t term=to23*numer/denom*pow(eta,85);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to13*numer/denom*pow(eta,87);\n",
      "fp_t numer=3630889060034345*2**(2/3);\n",
      "fp_t denom=5615859363936731136;\n",
      "fp_t term=to23*numer/denom*pow(eta,89);\n",
      "fp_t numer=696995045921251*2**(1/3);\n",
      "fp_t denom=701982420492091392;\n",
      "fp_t term=to13*numer/denom*pow(eta,91);\n",
      "fp_t numer=0;\n",
      "fp_t denom=1;\n",
      "fp_t term=to23*numer/denom*pow(eta,93);\n",
      "fp_t numer=-158136806508304345;\n",
      "fp_t denom=134780624734481547264;\n",
      "fp_t term=to13*numer/denom*pow(eta,95);\n",
      "fp_t numer=-60837710436840623;\n",
      "fp_t denom=67390312367240773632;\n",
      "fp_t term=to23*numer/denom*pow(eta,97);\n"
     ]
    }
   ],
   "source": [
    "for i in range(-1,Nlow,2):\n",
    "    coeff=lowaser.coeff(eta,i)\n",
    "    ixtype=numpy.floor(i/4)-i/4+1/4\n",
    "    if ixtype<0:\n",
    "        coeff=coeff/sympy.Rational(2,1)**sympy.Rational(1,3)\n",
    "    else:\n",
    "        coeff=coeff/sympy.Rational(2,1)**sympy.Rational(2,3)\n",
    "    num=sympy.numer(coeff)\n",
    "    den=sympy.denom(coeff)\n",
    "    print('fp_t numer='+str(num)+';')\n",
    "    print('fp_t denom='+str(den)+';')\n",
    "    if ixtype<0:\n",
    "        print('fp_t term=to13*numer/denom*pow(eta,'+str(i)+');')\n",
    "    else:\n",
    "        print('fp_t term=to23*numer/denom*pow(eta,'+str(i)+');')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle - \\frac{\\sqrt[3]{\\sqrt{1 + \\frac{1}{\\beta^{2}}} - 1}}{\\sqrt[6]{\\frac{1}{\\beta^{2}}}} + \\frac{\\sqrt[6]{\\frac{1}{\\beta^{2}}}}{\\sqrt[3]{\\sqrt{1 + \\frac{1}{\\beta^{2}}} - 1}}$"
      ],
      "text/plain": [
       "-(sqrt(1 + beta**(-2)) - 1)**(1/3)/(beta**(-2))**(1/6) + (beta**(-2))**(1/6)/(sqrt(1 + beta**(-2)) - 1)**(1/3)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f2=f.subs(alpha,1/beta**2)\n",
    "display(f2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "Nhigh=39"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\frac{120013116328880593960960 \\beta^{37}}{58149737003040059690390169} - \\frac{1611206569001662545920 \\beta^{35}}{717897987691852588770249} + \\frac{195646511950201880576 \\beta^{33}}{79766443076872509863361} - \\frac{7963410292145127424 \\beta^{31}}{2954312706550833698643} + \\frac{326196774651822080 \\beta^{29}}{109418989131512359209} - \\frac{40376795886780416 \\beta^{27}}{12157665459056928801} + \\frac{186663707869184 \\beta^{25}}{50031545098999707} - \\frac{7843012935680 \\beta^{23}}{1853020188851841} + \\frac{1000142274560 \\beta^{21}}{205891132094649} - \\frac{43109580800 \\beta^{19}}{7625597484987} + \\frac{630063104 \\beta^{17}}{94143178827} - \\frac{84672512 \\beta^{15}}{10460353203} + \\frac{3899392 \\beta^{13}}{387420489} - \\frac{186368 \\beta^{11}}{14348907} + \\frac{28160 \\beta^{9}}{1594323} - \\frac{512 \\beta^{7}}{19683} + \\frac{32 \\beta^{5}}{729} - \\frac{8 \\beta^{3}}{81} + \\frac{2 \\beta}{3}$"
      ],
      "text/plain": [
       "120013116328880593960960*beta**37/58149737003040059690390169 - 1611206569001662545920*beta**35/717897987691852588770249 + 195646511950201880576*beta**33/79766443076872509863361 - 7963410292145127424*beta**31/2954312706550833698643 + 326196774651822080*beta**29/109418989131512359209 - 40376795886780416*beta**27/12157665459056928801 + 186663707869184*beta**25/50031545098999707 - 7843012935680*beta**23/1853020188851841 + 1000142274560*beta**21/205891132094649 - 43109580800*beta**19/7625597484987 + 630063104*beta**17/94143178827 - 84672512*beta**15/10460353203 + 3899392*beta**13/387420489 - 186368*beta**11/14348907 + 28160*beta**9/1594323 - 512*beta**7/19683 + 32*beta**5/729 - 8*beta**3/81 + 2*beta/3"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "highaser=sympy.series(f2,beta,0,Nhigh).removeO()\n",
    "display(highaser)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fp_t numer=2;\n",
      "fp_t denom=3;\n",
      "fp_t term=numer/denom*pow(eta,1);\n",
      "fp_t numer=-8;\n",
      "fp_t denom=81;\n",
      "fp_t term=numer/denom*pow(eta,3);\n",
      "fp_t numer=32;\n",
      "fp_t denom=729;\n",
      "fp_t term=numer/denom*pow(eta,5);\n",
      "fp_t numer=-512;\n",
      "fp_t denom=19683;\n",
      "fp_t term=numer/denom*pow(eta,7);\n",
      "fp_t numer=28160;\n",
      "fp_t denom=1594323;\n",
      "fp_t term=numer/denom*pow(eta,9);\n",
      "fp_t numer=-186368;\n",
      "fp_t denom=14348907;\n",
      "fp_t term=numer/denom*pow(eta,11);\n",
      "fp_t numer=3899392;\n",
      "fp_t denom=387420489;\n",
      "fp_t term=numer/denom*pow(eta,13);\n",
      "fp_t numer=-84672512;\n",
      "fp_t denom=10460353203;\n",
      "fp_t term=numer/denom*pow(eta,15);\n",
      "fp_t numer=630063104;\n",
      "fp_t denom=94143178827;\n",
      "fp_t term=numer/denom*pow(eta,17);\n",
      "fp_t numer=-43109580800;\n",
      "fp_t denom=7625597484987;\n",
      "fp_t term=numer/denom*pow(eta,19);\n",
      "fp_t numer=1000142274560;\n",
      "fp_t denom=205891132094649;\n",
      "fp_t term=numer/denom*pow(eta,21);\n",
      "fp_t numer=-7843012935680;\n",
      "fp_t denom=1853020188851841;\n",
      "fp_t term=numer/denom*pow(eta,23);\n",
      "fp_t numer=186663707869184;\n",
      "fp_t denom=50031545098999707;\n",
      "fp_t term=numer/denom*pow(eta,25);\n",
      "fp_t numer=-40376795886780416;\n",
      "fp_t denom=12157665459056928801;\n",
      "fp_t term=numer/denom*pow(eta,27);\n",
      "fp_t numer=326196774651822080;\n",
      "fp_t denom=109418989131512359209;\n",
      "fp_t term=numer/denom*pow(eta,29);\n",
      "fp_t numer=-7963410292145127424;\n",
      "fp_t denom=2954312706550833698643;\n",
      "fp_t term=numer/denom*pow(eta,31);\n",
      "fp_t numer=195646511950201880576;\n",
      "fp_t denom=79766443076872509863361;\n",
      "fp_t term=numer/denom*pow(eta,33);\n",
      "fp_t numer=-1611206569001662545920;\n",
      "fp_t denom=717897987691852588770249;\n",
      "fp_t term=numer/denom*pow(eta,35);\n",
      "fp_t numer=120013116328880593960960;\n",
      "fp_t denom=58149737003040059690390169;\n",
      "fp_t term=numer/denom*pow(eta,37);\n"
     ]
    }
   ],
   "source": [
    "for i in range(1,Nhigh,2):\n",
    "    print('fp_t numer='+str(sympy.numer(highaser.coeff(beta,i)))+';')\n",
    "    print('fp_t denom='+str(sympy.denom(highaser.coeff(beta,i)))+';')\n",
    "    print('fp_t term=numer/denom*pow(eta,'+str(i)+');')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
